/* =====================================================================
   AHP DartCounter — Essex Super Series "Floodlit Oche" design
   One stylesheet for every AHP shortcode (the old inline <style> blocks
   now live here). Class names and IDs used by the plugin's JavaScript
   are unchanged.
   ===================================================================== */
:root{
  --ess-ink:#0B0A08;
  --ess-panel:#14130F;
  --ess-panel-2:#1C1B16;
  --ess-field:#0F0E0B;
  --ess-raised:#24221A;
  --ess-line:rgba(255,236,170,.10);
  --ess-line-strong:rgba(255,236,170,.22);
  --ess-text:#F3F0E6;
  --ess-text-2:#CFCABD;
  --ess-muted:#9C978A;
  --ess-signal:#FFD400;
  --ess-signal-soft:rgba(255,212,0,.12);
  --ess-on-signal:#0B0A08;
  --ess-treble:#E5373F;
  --ess-double:#22A565;
  --ess-amber:#FF8A1F;
  --ess-radius:4px;
  --ess-font-display:"Big Shoulders Display","Barlow Condensed",Impact,"Arial Narrow",sans-serif;
  --ess-font-body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ess-font-data:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
}

/* ---------------------------------------------------------------------
   Card + heading (the yellow flag before every card title is the
   signature "broadcast tab")
   --------------------------------------------------------------------- */
.dkdarts-card{
  background:var(--ess-panel);
  border:1px solid var(--ess-line);
  border-radius:var(--ess-radius);
  padding:20px;
  margin-bottom:20px;
  color:var(--ess-text);
  font-family:var(--ess-font-body);
  box-sizing:border-box;
  min-width:0;
}
.dkdarts-card *,.dkdarts-card *::before,.dkdarts-card *::after{box-sizing:border-box}
.dkdarts-card h3{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  color:var(--ess-text);
  font-family:var(--ess-font-display);
  font-weight:800;
  font-size:30px;
  line-height:1;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.dkdarts-card>h3::before,
.dkdarts-card .dkdarts-table-header h3::before{
  content:"";
  flex:0 0 26px;
  height:20px;
  background:var(--ess-signal);
  clip-path:polygon(30% 0,100% 0,70% 100%,0 100%);
}
.dkdarts-card a{color:var(--ess-signal)}
.dkdarts-loading{padding:18px;text-align:center;color:var(--ess-muted);font-family:var(--ess-font-data);letter-spacing:.12em;text-transform:uppercase}

/* ---------------------------------------------------------------------
   Notices — dkdarts_notice()
   --------------------------------------------------------------------- */
.dkdarts-notice{
  margin:12px 0;
  padding:11px 14px;
  border:1px solid var(--ess-line-strong);
  border-left:4px solid var(--ess-signal);
  border-radius:var(--ess-radius);
  background:var(--ess-panel-2);
  color:var(--ess-text);
  font-family:var(--ess-font-body);
}
.dkdarts-notice a{color:var(--ess-signal)}
.dkdarts-notice--success{border-left-color:var(--ess-double)}
.dkdarts-notice--error{border-left-color:var(--ess-treble)}
.dkdarts-notice--warn{border-left-color:var(--ess-amber)}

/* ---------------------------------------------------------------------
   Tables (league, snapshot, leaderboards, player dashboard, results)
   --------------------------------------------------------------------- */
.dkdarts-table-wrapper,
.dkdarts-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dkdarts-table-wrapper{margin-top:10px}
.dkdarts-table,
.dkdarts-results-table{
  width:100%;
  border-collapse:collapse;
  background:transparent;
  border:0;
  color:var(--ess-text);
  font-variant-numeric:tabular-nums;
}
.dkdarts-results-wrapper{overflow-x:auto;width:100%;margin:0 0 24px}
.dkdarts-results-table{min-width:980px}
.dkdarts-table thead th,
.dkdarts-results-table th{
  position:sticky;
  top:0;
  background:var(--ess-field);
  color:var(--ess-muted);
  font-family:var(--ess-font-data);
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-align:center;
  padding:10px 8px;
  border-bottom:2px solid var(--ess-signal);
  white-space:nowrap;
}
.dkdarts-table td,
.dkdarts-results-table td{
  padding:11px 8px;
  text-align:center;
  border-bottom:1px solid var(--ess-line);
  font-family:var(--ess-font-data);
  font-weight:600;
  font-size:18px;
  white-space:nowrap;
  background:transparent;
}
.dkdarts-table th:first-child,.dkdarts-table td:first-child,
.dkdarts-results-table th:first-child,.dkdarts-results-table td:first-child{text-align:left}
.dkdarts-table tbody tr{transition:background .15s}
.dkdarts-table tbody tr:hover td{background:rgba(255,236,170,.04)}
.dkdarts-table .dk-name{font-family:var(--ess-font-body);font-weight:600;font-size:16px}
.dkdarts-table thead .dk-name{font:inherit;letter-spacing:inherit}
.dkdarts-table td strong{font-family:var(--ess-font-display);font-weight:900;font-size:24px;color:var(--ess-signal)}

/* ---------------------------------------------------------------------
   [dkdarts_league_table]
   --------------------------------------------------------------------- */
.dkdarts-card.dkdarts-league-table{width:100%;max-width:850px;margin-left:auto;margin-right:auto;padding-bottom:18px}
.dkdarts-league-table .dk-rank{
  display:inline-block;
  width:26px;
  margin-right:10px;
  text-align:center;
  font-family:var(--ess-font-display);
  font-weight:900;
  font-size:20px;
  line-height:26px;
  color:var(--ess-muted);
  vertical-align:middle;
}
.dkdarts-league-table .dk-rank.is-top{color:var(--ess-signal)}
.dkdarts-league-table .dk-rank.is-leader{color:var(--ess-on-signal);background:var(--ess-signal);clip-path:polygon(18% 0,100% 0,82% 100%,0 100%)}
.dkdarts-league-table.is-loading tbody{opacity:.4}
.dk-player-row .dk-name{cursor:default}
@media (max-width:768px){
  .dkdarts-league-table{overflow-x:auto;overflow-y:hidden}
  .dkdarts-league-table table.dkdarts-table{min-width:500px}
  .dkdarts-league-table .dkdarts-table .dk-name{display:inline-block;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
}

/* Pagination — league (.dk-pagination) and leaderboards (.dkdarts-pagination) */
.dk-pagination,
.dkdarts-pagination{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 4px;padding:0;color:var(--ess-muted)}
.dk-page-btn,
.dkdarts-pagination button{
  display:inline-block;
  padding:8px 14px;
  border:1px solid var(--ess-line-strong);
  border-radius:var(--ess-radius);
  background:transparent;
  color:var(--ess-text);
  font-family:var(--ess-font-data);
  font-weight:700;
  font-size:14px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:border-color .15s,color .15s;
}
.dk-page-btn:hover:not(:disabled),
.dkdarts-pagination button:hover:not(:disabled){border-color:var(--ess-signal);color:var(--ess-signal);background:transparent}
.dk-page-btn:disabled,
.dkdarts-pagination button:disabled{opacity:.35;cursor:not-allowed}
.dk-page-current,
.dkdarts-page{font-family:var(--ess-font-data);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--ess-muted)}
.dk-pagination a{color:var(--ess-signal);margin:0 8px;text-decoration:none}

/* ---------------------------------------------------------------------
   [ess_night_snapshot]
   --------------------------------------------------------------------- */
.ess-night-snapshot{max-width:1000px;margin-left:auto;margin-right:auto}
.ess-night-table{width:100%;table-layout:fixed}
.ess-night-table .ess-col-pos{width:56px}
.ess-night-table .ess-col-player{width:auto}
.ess-night-table .ess-col-small{width:70px}
.ess-night-table th,.ess-night-table td{text-align:center}
.ess-night-table th:nth-child(2),.ess-night-table td:nth-child(2){text-align:left}
.ess-night-table td:first-child strong{color:var(--ess-text);font-size:22px}
.ess-night-table .dk-name{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ess-night-snapshot .ess-qualified td{background:rgba(34,165,101,.08)}
.ess-night-snapshot .ess-qualified td:first-child{box-shadow:inset 3px 0 0 var(--ess-double)}
.ess-night-snapshot .ess-qualified td:first-child strong{color:var(--ess-signal)}
.ess-night-snapshot .ess-playoff td{background:rgba(255,138,31,.10)}
.ess-night-snapshot .ess-playoff td:first-child{box-shadow:inset 3px 0 0 var(--ess-amber)}
.ess-night-snapshot tbody tr.ess-qualified + tr:not(.ess-qualified) td{border-top:2px dashed var(--ess-signal)}
.ess-snapshot-summary{display:grid;gap:8px;margin-top:16px;padding:14px 16px;background:var(--ess-field);border:1px solid var(--ess-line);font-weight:600;line-height:1.55;text-align:left}
.ess-snapshot-summary strong{font-family:var(--ess-font-data);letter-spacing:.08em;text-transform:uppercase}
.ess-playoff-warning{color:var(--ess-amber)}
.ess-qualified-ok{color:#5ED394}
@media (max-width:600px){
  .ess-night-snapshot{padding:14px}
  .ess-night-table .ess-col-pos{width:34px}
  .ess-night-table .ess-col-small{width:38px}
  .ess-night-table th,.ess-night-table td{padding:9px 3px;font-size:15px}
  .ess-night-table thead th{font-size:11px;letter-spacing:.08em}
  .ess-night-table td:first-child strong{font-size:18px}
  .ess-night-table .dk-name{font-size:14px}
}

/* ---------------------------------------------------------------------
   Leaderboards: [dkdarts_season_*] [dkdarts_youth_*] [dkdarts_alltime_*]
   --------------------------------------------------------------------- */
.dkdarts-card.dkdarts-tournament-like{width:100%;max-width:850px;margin-left:auto;margin-right:auto;overflow:visible}
.dkdarts-table-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:0}
.dkdarts-table-header h3{margin:0;font-size:28px}
.dkdarts-search,
#dkdarts-player-search-input{
  width:100%;
  max-width:260px;
  padding:10px 12px 10px 38px;
  border:1px solid var(--ess-line-strong);
  border-radius:var(--ess-radius);
  background-color:var(--ess-field);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%239C978A' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:12px 50%;
  color:var(--ess-text);
  font-family:var(--ess-font-body);
  font-size:16px;
}
.dkdarts-search::placeholder,#dkdarts-player-search-input::placeholder{color:var(--ess-muted)}
.dkdarts-search:focus,
#dkdarts-player-search-input:focus{outline:none;border-color:var(--ess-signal);box-shadow:0 0 0 3px var(--ess-signal-soft)}
table.dkdarts-tournament-table{table-layout:auto}
table.dkdarts-tournament-table th,
table.dkdarts-tournament-table td{padding:10px 8px;overflow:hidden;text-overflow:ellipsis}
table.dkdarts-tournament-table td:first-child{font-family:var(--ess-font-body);font-weight:600;font-size:16px}
table.dkdarts-tournament-table td:nth-child(2){font-family:var(--ess-font-display);font-weight:800;font-size:22px}
table.dkdarts-tournament-table tbody tr:first-child td:nth-child(2){color:var(--ess-signal);font-weight:900}
.dkdarts-nodata{padding:28px 22px;margin:10px 0;text-align:center;border:1px dashed var(--ess-line-strong);border-radius:var(--ess-radius);background:transparent;color:var(--ess-muted);font-size:15px}
@media (max-width:768px){
  .dkdarts-card.dkdarts-tournament-like{overflow-x:hidden}
  .dkdarts-table-header{flex-direction:column;align-items:stretch}
  .dkdarts-search{max-width:none}
  table.dkdarts-tournament-table{table-layout:fixed}
  table.dkdarts-tournament-table th,table.dkdarts-tournament-table td{padding:8px 4px;font-size:14px}
  table.dkdarts-tournament-table td:first-child{font-size:14px}
  table.dkdarts-tournament-table td:nth-child(2){font-size:18px}
}

/* ---------------------------------------------------------------------
   [dkdarts_player_profile] — League Stats search + dashboard
   --------------------------------------------------------------------- */
.dkdarts-card.dkdarts-player-search{max-width:850px;margin-left:auto;margin-right:auto}
.dkdarts-player-search>h3{justify-content:center}
.dkdarts-search-wrap{position:relative;display:flex;justify-content:center;width:100%;margin:6px 0 4px}
#dkdarts-player-search-input{max-width:420px;padding:13px 14px 13px 40px;font-size:17px}
.dkdarts-suggestions{
  position:absolute;
  top:calc(100% + 4px);
  width:100%;
  max-width:420px;
  max-height:240px;
  overflow-y:auto;
  background:var(--ess-panel-2);
  border:1px solid var(--ess-line-strong);
  border-radius:var(--ess-radius);
  box-shadow:0 18px 40px rgba(0,0,0,.5);
  z-index:1000;
  display:none;
}
.suggestion-item{padding:10px 14px;cursor:pointer;color:var(--ess-text);font-size:15px;font-weight:600;border-bottom:1px solid var(--ess-line);transition:background .15s}
.suggestion-item:last-child{border-bottom:0}
.suggestion-item:hover{background:var(--ess-signal-soft);color:var(--ess-signal)}
.dk-player-dashboard{color:var(--ess-text)}
.dk-player-dashboard h4{margin:6px 0 16px;font-family:var(--ess-font-display);font-weight:900;font-size:clamp(36px,5vw,56px);line-height:.9;text-transform:uppercase;color:var(--ess-text)}
.dk-player-dashboard h5{margin:24px 0 8px;font-family:var(--ess-font-data);font-weight:700;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--ess-muted)}
.dkdarts-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.dkdarts-kpi-grid>div{background:var(--ess-panel-2);border:1px solid var(--ess-line);padding:14px 10px;text-align:center}
.dkdarts-kpi-grid .val{font-family:var(--ess-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--ess-signal);font-variant-numeric:tabular-nums}
.dkdarts-kpi-grid .label{margin-top:6px;font-family:var(--ess-font-data);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ess-muted)}
.dk-wld{display:inline-block;min-width:26px;padding:2px 6px;font-family:var(--ess-font-data);font-weight:800;text-align:center}
.dk-wld-w{background:rgba(34,165,101,.18);color:#5ED394}
.dk-wld-l{background:rgba(229,55,63,.16);color:#FF7B82}
.dk-wld-d{background:var(--ess-panel-2);color:var(--ess-muted)}
.dk-player-dashboard canvas{max-width:100%}
@media (max-width:768px){
  .dkdarts-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dkdarts-kpi-grid .val{font-size:32px}
  .dk-player-dashboard table.dkdarts-table{table-layout:fixed}
  .dk-player-dashboard table.dkdarts-table th,
  .dk-player-dashboard table.dkdarts-table td{padding:8px 4px;font-size:14px;overflow:hidden;text-overflow:ellipsis;text-align:center}
  .dk-player-dashboard table.dkdarts-recent-results th:nth-child(1),
  .dk-player-dashboard table.dkdarts-recent-results td:nth-child(1){display:none}
  .dk-player-dashboard table.dkdarts-recent-results td:nth-child(2){text-align:left;width:34%}
}

/* ---------------------------------------------------------------------
   Forms — [dkdarts_login] [dkdarts_account] and other .dkdarts-form uses
   --------------------------------------------------------------------- */
.dkdarts-form{display:grid;gap:14px}
.dkdarts-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  color:var(--ess-muted);
  font-family:var(--ess-font-data);
  font-weight:700;
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.dkdarts-form input:not([type=checkbox]):not([type=radio]),
.dkdarts-form textarea,
.dkdarts-form select{
  width:100%;
  padding:11px 12px;
  border:1px solid var(--ess-line-strong);
  border-radius:var(--ess-radius);
  background:var(--ess-field);
  color:var(--ess-text);
  font-family:var(--ess-font-body);
  font-size:16px;
  letter-spacing:0;
  text-transform:none;
  box-sizing:border-box;
}
.dkdarts-form input[type=file]{padding:9px 10px;color:var(--ess-text-2)}
.dkdarts-form input:focus,.dkdarts-form textarea:focus,.dkdarts-form select:focus{outline:none;border-color:var(--ess-signal);box-shadow:0 0 0 3px var(--ess-signal-soft)}
.dkdarts-form input[type=checkbox]{accent-color:var(--ess-signal);width:18px;height:18px;margin:0}
.dkdarts-form .dk-check{flex-direction:row;align-items:center;gap:10px;letter-spacing:.06em}
.dkdarts-form .dkdarts-grid-2{display:grid;grid-template-columns:1fr 180px;gap:10px}
.dkdarts-form .dkdarts-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media (max-width:640px){.dkdarts-form .dkdarts-grid-2,.dkdarts-form .dkdarts-grid-3{grid-template-columns:1fr}}

.dkdarts-btn,
.ess-result-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px;
  border:0;
  border-radius:var(--ess-radius);
  background:var(--ess-signal);
  color:var(--ess-on-signal) !important;
  font-family:var(--ess-font-data);
  font-weight:800;
  font-size:17px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:filter .15s,transform .1s;
}
.dkdarts-btn:hover,.ess-result-submit:hover{filter:brightness(1.08);opacity:1}
.dkdarts-btn:active,.ess-result-submit:active{transform:translateY(1px)}
.dkdarts-submit-btn{padding:6px 12px;border:0;border-radius:var(--ess-radius);background:var(--ess-signal);color:var(--ess-on-signal);font-family:var(--ess-font-data);font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.dkdarts-submit-btn:hover{filter:brightness(1.08)}
.dkdarts-btn-logout{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  padding:9px 14px;
  border:1px solid rgba(229,55,63,.6);
  border-radius:var(--ess-radius);
  color:#FF7B82 !important;
  font-family:var(--ess-font-data);
  font-weight:700;
  font-size:14px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .15s,color .15s;
}
.dkdarts-btn-logout:hover{background:var(--ess-treble);color:#fff !important}

/* Login */
.dkdarts-card.dkdarts-login-card{max-width:520px;margin-left:auto;margin-right:auto}
.dkdarts-form .dkdarts-btn{width:100%;margin-top:4px}
.dkdarts-form-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:15px;letter-spacing:0;text-transform:none}
.dkdarts-form-links a{color:var(--ess-signal)}

/* Account */
.dk-account-wrap{width:100%;max-width:900px;margin:0 auto;padding:20px 0;box-sizing:border-box;font-family:var(--ess-font-body)}
.dk-account-card{background:var(--ess-panel);border:1px solid var(--ess-line);border-radius:var(--ess-radius);padding:22px;color:var(--ess-text);overflow:hidden}
.dk-account-card .dk-acc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:-22px -22px 22px;padding:22px;background:linear-gradient(120deg,var(--ess-raised),var(--ess-panel) 70%);border-bottom:1px solid var(--ess-line)}
.dk-account-card .dk-acc-left{display:flex;align-items:center;gap:16px;min-width:0}
.dk-account-card .dk-acc-avatar{width:76px;height:76px;border-radius:50%;object-fit:cover;display:block;margin:0 !important;flex:0 0 auto;border:0;box-shadow:0 0 0 2px var(--ess-signal),0 0 0 5px var(--ess-panel);background:#2A2820}
.dk-account-card .dk-acc-meta{min-width:0}
.dk-account-card .dk-acc-title{margin:0;font-family:var(--ess-font-display);font-weight:900;font-size:40px;line-height:.9;text-transform:uppercase;color:var(--ess-text)}
.dk-account-card .dk-acc-email{margin-top:4px;font-size:15px;color:var(--ess-muted);word-break:break-word}
.dk-account-card .dk-section-title{display:flex;align-items:center;gap:10px;margin:6px 0 2px;color:var(--ess-signal);font-family:var(--ess-font-display);font-weight:800;font-size:22px;line-height:1;text-transform:uppercase}
.dk-account-card .dk-section-title::after{content:"";flex:1;height:1px;background:var(--ess-line)}
.dk-account-card hr{display:none}
.dk-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dk-account-grid .dk-span{grid-column:1/-1}
.dk-account-card .dkdarts-btn{width:auto;justify-self:start;margin-top:8px}
@media (max-width:800px){.dk-account-grid{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------
   [ess_result_entry]
   --------------------------------------------------------------------- */
.ess-result-card{max-width:900px;margin:0 auto;padding:22px;background:var(--ess-panel);border:1px solid var(--ess-line);border-radius:var(--ess-radius);color:var(--ess-text);font-family:var(--ess-font-body);box-sizing:border-box}
.ess-result-card *{box-sizing:border-box}
.ess-result-card h3{margin:0 0 6px;font-family:var(--ess-font-display);font-weight:800;font-size:30px;line-height:1;text-transform:uppercase;color:var(--ess-text);text-align:left}
.ess-result-intro{margin:0;color:var(--ess-muted)}
.ess-result-vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ess-line);margin:16px 0}
.ess-result-side{display:grid;gap:12px;align-content:start;padding:14px;min-width:0}
.ess-result-side + .ess-result-side{border-left:1px solid var(--ess-line)}
.ess-result-side h4{margin:0;font-family:var(--ess-font-data);font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ess-signal)}
.ess-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ess-result-card label{display:flex;flex-direction:column;gap:6px;color:var(--ess-muted);font-family:var(--ess-font-data);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.ess-result-card input,
.ess-result-card select{width:100%;margin:0;padding:11px 12px;background:var(--ess-field);border:1px solid var(--ess-line-strong);border-radius:var(--ess-radius);color:var(--ess-text) !important;font-family:var(--ess-font-body);font-size:16px;letter-spacing:0;text-transform:none}
.ess-result-card input::placeholder{color:var(--ess-muted)}
.ess-result-card input:focus,.ess-result-card select:focus{outline:none;border-color:var(--ess-signal);box-shadow:0 0 0 3px var(--ess-signal-soft)}
.ess-result-submit{width:100%;margin-top:4px}
@media (max-width:700px){
  .ess-result-vs{grid-template-columns:1fr}
  .ess-result-side + .ess-result-side{border-left:0;border-top:1px solid var(--ess-line)}
}

/* ---------------------------------------------------------------------
   Player directory, public profiles and player cards
   (used by /player/{slug}, the search-players REST output and [dk-player])
   --------------------------------------------------------------------- */
.dkdarts-logo-wrap{display:flex;justify-content:center;margin:0 0 10px}
.dkdarts-logo{max-height:60px;width:auto}
.dkdarts-title{text-align:center;margin:8px 0 16px;font-family:var(--ess-font-display);text-transform:uppercase}

.dk-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;display:block;margin:0 auto;border:0;box-shadow:0 0 0 2px var(--ess-signal),0 0 0 5px var(--ess-panel);background:#2A2820}
.dk-avatar-fallback{display:flex;align-items:center;justify-content:center;width:90px;height:90px;margin:0 auto 10px;border-radius:50%;background:var(--ess-panel-2) !important;color:var(--ess-signal) !important;border:2px solid var(--ess-line-strong) !important;font-family:var(--ess-font-display);font-weight:900;font-size:30px;text-transform:uppercase}

.dk-profile-header{display:flex;align-items:center;gap:32px;padding:10px 0}
.dk-profile-left{flex:0 0 120px;text-align:center}
.dk-profile-right{flex:1;min-width:0}
.dk-profile-right h2{margin:0 0 4px;font-family:var(--ess-font-display);font-weight:900;font-size:44px;line-height:.95;text-transform:uppercase;color:var(--ess-text)}
.dk-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dk-player-profile .dkdarts-card h3{justify-content:flex-start;text-align:left;font-size:24px}
#dk-player-search-box h3{justify-content:center}

.dk-socials a{margin-right:10px;text-decoration:none;color:var(--ess-signal)}
.dk-socials a:hover{text-decoration:underline}

.dk-badge-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dk-badge{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--ess-panel-2);border:1px solid var(--ess-line);border-radius:var(--ess-radius);color:var(--ess-text);font-size:16px}
.dk-badge img{width:64px;height:64px;object-fit:contain;border-radius:var(--ess-radius)}
.dk-badge-fallback{font-size:18px}

.dk-activity{list-style:none;margin:0;padding-left:0}
.dk-activity li{margin:6px 0;padding-left:14px;border-left:2px solid var(--ess-line-strong)}

.dkdarts-card .dk-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.dkdarts-card .dk-row h3{margin:0;font-size:22px}

#dk-player-directory{background:var(--ess-panel);color:var(--ess-text);border:1px solid var(--ess-line);border-radius:var(--ess-radius);padding:20px}
.dk-player-search{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}
#dk-player-search-input{width:100%;max-width:320px;padding:10px 14px;background:var(--ess-field);color:var(--ess-text);border:1px solid var(--ess-line-strong);border-radius:var(--ess-radius);font-size:16px}
#dk-player-search-input:focus{outline:none;border-color:var(--ess-signal);box-shadow:0 0 0 3px var(--ess-signal-soft)}
.dk-player-search-btn{padding:10px 16px;border:0;border-radius:var(--ess-radius);background:var(--ess-signal);color:var(--ess-on-signal);font-family:var(--ess-font-data);font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.dk-player-search-btn:hover{filter:brightness(1.08)}

.dk-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;justify-items:center}
.dk-player-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  gap:6px;
  width:100%;
  max-width:240px;
  padding:20px 16px 16px;
  text-align:center;
  background:linear-gradient(160deg,var(--ess-panel-2) 0%,var(--ess-panel) 70%);
  border:1px solid var(--ess-line);
  border-radius:var(--ess-radius);
  color:var(--ess-text);
  transition:transform .2s ease,border-color .2s ease;
}
.dk-player-card:hover{transform:translateY(-4px);border-color:var(--ess-signal);box-shadow:none}
.dk-player-card .dk-avatar{width:90px !important;height:90px !important;margin:0 auto 10px;background:#2A2820 !important}
.dk-player-card h4{margin:8px 0 2px !important;font-family:var(--ess-font-display);font-weight:900;font-size:24px;line-height:1;text-transform:uppercase;color:var(--ess-text)}
.dk-player-card p{color:var(--ess-muted)}
.dk-player-card .dkdarts-btn{padding:8px 14px !important;font-size:13px !important}
.dk-player-info{min-height:70px;display:flex;flex-direction:column;justify-content:center}
.dk-player-name{font-family:var(--ess-font-display);font-weight:900;font-size:22px;text-transform:uppercase;color:var(--ess-text)}
.dk-player-nick{font-size:14px;color:var(--ess-signal);font-style:normal}
.dk-player-league{font-size:13px;color:var(--ess-muted)}
.dk-player-btn{display:inline-block;padding:8px 14px;border-radius:var(--ess-radius);background:var(--ess-signal);color:var(--ess-on-signal) !important;font-family:var(--ess-font-data);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.dk-player-btn:hover{filter:brightness(1.08)}

@media (max-width:768px){
  .dk-player-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
  .dk-player-card{max-width:200px;padding:14px}
  .dk-player-card .dk-avatar{width:75px !important;height:75px !important}
  .dk-player-name{font-size:18px}
}

/* Public profile header stacks and centres on mobile */
@media (max-width:768px){
  .dk-player-profile .dk-profile-header{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;width:100%}
  .dk-player-profile .dk-profile-left{flex:none;width:100%;display:flex;justify-content:center}
  .dk-player-profile .dk-profile-right{padding-left:0;margin-top:8px;text-align:center}
  .dk-player-profile .dk-avatar{width:120px;height:120px}
  .dk-profile-grid{grid-template-columns:1fr}
  /* Keep tables visible on public profiles but drop the date column */
  .dk-player-profile .dkdarts-table-wrapper{display:block !important}
  .dk-player-profile .dk-mobile-recent-results{display:none !important}
  .dk-player-profile .dkdarts-table thead th:nth-child(1),
  .dk-player-profile .dkdarts-table tbody td:nth-child(1){display:none}
  .dk-player-profile .dkdarts-table{min-width:auto}
}

/* Mobile recent-results list */
.dk-mobile-recent-results{display:none}
.dk-mobile-recent-results ul{list-style:none;margin:0;padding:0}
.dk-mobile-recent-results li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--ess-line);font-size:14px}
.dk-mobile-recent-results li:last-child{border-bottom:0}
.dk-mobile-recent-results .dk-mobile-date{opacity:.7;font-size:13px;margin-right:6px}
.dk-mobile-recent-results .dk-mobile-score{margin-left:auto;font-family:var(--ess-font-data);font-weight:700}
.dk-mobile-recent-results .dk-mobile-result{margin-left:8px;font-family:var(--ess-font-data);font-weight:800;color:#5ED394}
@media (max-width:768px){
  .dk-mobile-recent-results{display:block;margin-top:10px;padding:12px;background:var(--ess-panel-2);border:1px solid var(--ess-line);border-radius:var(--ess-radius);color:var(--ess-text)}
}

/* Results submission: table on desktop, cards on mobile */
.dk-mobile-cards{display:none}
@media (max-width:768px){
  .dkdarts-table-wrapper{display:none}
  .dk-mobile-cards{display:grid;gap:12px}
  .dk-match-card{padding:12px;background:var(--ess-panel-2);border:1px solid var(--ess-line);border-radius:var(--ess-radius);color:var(--ess-text)}
  .dk-match-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--ess-line)}
  .dk-match-row:last-child{border-bottom:0}
  .dk-match-label{font-family:var(--ess-font-data);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ess-signal)}
  .dk-submit-wrap{margin-top:8px;text-align:right}
}

/* ---------------------------------------------------------------------
   Page-specific layout kept from the previous stylesheet
   (colours now come from the design above)
   --------------------------------------------------------------------- */
/* Register (4287) and login (4314) forms */
.page-id-4287 .dkdarts-card{max-width:600px;margin:0 auto}
.page-id-4314 .dkdarts-card{max-width:500px;margin:0 auto}
@media (min-width:768px){
  .page-id-4287 .dkdarts-form{grid-template-columns:1fr 1fr}
  .page-id-4287 .dkdarts-form button{grid-column:1/-1}
}

/* Account page (4317) */
.page-id-4317 .dkdarts-page{padding:12px}
.page-id-4317 .dk-grid{display:grid;gap:18px}
.page-id-4317 .dkdarts-auth-grid{display:grid;gap:20px;max-width:900px;margin:0 auto}
@media (min-width:900px){.page-id-4317 .dkdarts-auth-grid{grid-template-columns:1fr 1fr}}
@media (max-width:768px){
  .page-id-4317 .dk-grid{grid-template-columns:1fr}
  .page-id-4317 .dkdarts-card{padding:16px}
  .page-id-4317 .dkdarts-table{min-width:700px}
  body.page-id-4317 .dkdarts-table-wrapper{display:none !important}
  body.page-id-4317 .dk-mobile-cards{display:grid !important}
  body.page-id-4317 .dk-profile-header{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:12px}
  body.page-id-4317 .dk-profile-left{flex:0 0 auto}
  body.page-id-4317 .dk-avatar{width:120px;height:120px}
}

/* Results submission page (258): no sidebar, centred */
body.page-id-258 #secondary,
body.page-id-258 .sidebar,
body.page-id-258 .widget-area,
body.page-id-258 .col-4,
body.page-id-258 .right-sidebar{display:none !important;visibility:hidden !important}
body.page-id-258 #primary,
body.page-id-258 .content-area,
body.page-id-258 #main{width:100% !important;max-width:1100px !important;margin:0 auto !important;float:none !important}
body.page-id-258 .dkdarts-card{margin:0 auto;max-width:1000px}
body.page-id-258 .dkdarts-table{min-width:900px}
@media (max-width:768px){body.page-id-258 .dkdarts-card{padding:10px}}

/* "Submit Your Results" title (5225) */
body.page-id-5225 .dkdarts-card h3{justify-content:center}

@media (prefers-reduced-motion:reduce){
  .dkdarts-card *,.dk-player-card{transition:none !important}
}
